﻿using Windows.SeedWork;

namespace Windows.Admin.Domain
{
    public partial class Employee : FullEntity<long>
    {
        public Employee() 
        {
            Organization_Employees = new HashSet<Organization_Employee>();
            Post_Employees = new HashSet<Post_Employee>();
        }
        /// <summary>
        /// 用户Id
        /// </summary>
        public long? UserId { get; set; }
        /// <summary>
        /// 工号
        /// </summary>
        public virtual string Number { get; set; } = "";
        /// <summary>
        /// 身份证
        /// </summary>
        public virtual string IDCard { get; set; } = "";
        /// <summary>
        /// 姓名
        /// </summary>
        public virtual string Name { get; set; } = "";
        /// <summary>
        /// 性别
        /// </summary>
        public virtual bool Gender { get; set; }
        /// <summary>
        /// 婚否
        /// </summary>
        public virtual bool Marriage { get; set; }
        /// <summary>
        /// 学历
        /// </summary>
        public virtual string Education { get; set; } = "";
        /// <summary>
        /// 手机号码
        /// </summary>
        public virtual string MobilePhone { get; set; } = "";
        /// <summary>
        /// 邮箱
        /// </summary>
        public virtual string? Email { get; set; }
        /// <summary>
        /// 地址
        /// </summary>
        public virtual string? Address { get; set; }
        /// <summary>
        /// 入职日期
        /// </summary>
        public virtual DateTime HireDate { get; set; } = DateTime.Now;
        /// <summary>
        /// 离职日期
        /// </summary>
        public virtual DateTime? TermDate { get; set; }
        /// <summary>
        /// 状态
        /// </summary>
        public virtual int Status { get; set; }
        /// <summary>
        /// 头像
        /// </summary>
        public string? Avatar { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public virtual string? Remark { get; set; }
        public virtual User? User { get; set; }
        public virtual ICollection<Organization_Employee> Organization_Employees { get; set; }
        public virtual ICollection<Post_Employee> Post_Employees { get; set; }
    }
}
